package ${entity.getSiblingPackage("service")};

import ${entity.getSiblingPackage("dto")}.${entity.entityName}Dto;
import wo.common.entity.WoPage;

/**
 * PO实体${entity.entityName}对应的Service接口.
 * @author cailei
 */
public interface ${entity.entityName}Service {

#if($entity.isWeak())
	/**
	 * DataTable获取${entity.entityCN}列表数据.
	 * 
	 * @param start 当前页开始索引，从0开始
	 * @param length 当前页最大行数
	 * @param searchContent 查询内容
	 * @param dir 排序方式
	 * @param ${entity.weakRelationM21.sourceFieldName}Id ${entity.weakRelationM21.sourceFieldCN}Id
	 * @return
	 */
	public WoPage<${entity.entityName}Dto> getPageData(Long start, Long length, String searchContent, String dir,
		${entity.weakRelationM21.target.firstKeyField.fieldType.name} ${entity.weakRelationM21.sourceFieldName}Id);
#else
	/**
	 * DataTable获取${entity.entityCN}列表数据.
	 * @param start 当前页开始索引,从0开始
	 * @param length 当前页最大行数
	 * @param searchContent 查询内容
	 * @param dir 排序方式
	 * @return
	 */
	public WoPage<${entity.entityName}Dto> getPageData(Long start, Long length, String searchContent, String dir);
#end

	/**
	 * 创建${entity.entityCN}
	 * @param dto
	 */
	void create(${entity.entityName}Dto dto);

	/**
	 * 根据id获取${entity.entityCN}数据
	 * @param id
	 * @return
	 */
	${entity.entityName}Dto getById(String id);

	/**
	 * 修改${entity.entityCN}
	 * @param dto
	 */
	void update(${entity.entityName}Dto dto);

	/**
	 * 根据id数组删除一个或者多个${entity.entityCN}
	 * @param id
	 */
	void delete(String[] id);

}
